/*
 * conexiones.c
 *
 *  Created on: 10/12/2011
 *      Author: utn_so
 */
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <stdint.h>

uint32_t buscarSocketLibre(uint32_t *socketPFS, uint32_t cantPFS){
uint32_t n, j;

	for(n=0;n<cantPFS;n++){
		if(socketPFS[n]==-1){
			j=n;
			n=cantPFS;
		};
	}
	return j;
}

uint32_t esPFS(uint32_t socket, uint32_t *vector_PDD,uint32_t limite){
	uint32_t i;

	for(i = 0; i < limite; ++i){
		if (vector_PDD[i] == socket){
			return 1;
		}
	}

	return 0;
}

void quitarPFSDeVector(uint32_t elem,uint32_t *vec,uint32_t *n){

	int i,j;

	for(i = 0; i < (*n); i++){
		if(vec[i] == elem){
			for(j = i; j < (*n)-1; j++){
				vec[j] = vec[++i];
			}
			return;
		}
	}
}

uint32_t buscarIndice(uint32_t socket, uint32_t *socketPFS, uint32_t cantPFS){
uint32_t n;

	for(n=0;n<cantPFS;n++){
		if(socketPFS[n]==socket){
			return n;
		};
	}

	return -1;

}

void inicializarPFS(uint32_t *socketPFS,uint32_t max_PFS){
uint32_t n;
for(n=0;n<max_PFS;n++){
	socketPFS[n]=-1;
}
}
